import pymysql
import sys

def check_mysql_users():
    try:
        # 连接到MySQL数据库
        conn = pymysql.connect(
            host='localhost',
            user='root',
            password='123456',
            database='company',
            port=3306
        )
        
        print("✅ 成功连接到MySQL数据库")
        
        # 创建游标
        cursor = conn.cursor()
        
        # 查询users表的内容
        cursor.execute("SELECT id, username, email, is_active, is_superuser, hashed_password FROM users")
        users = cursor.fetchall()
        
        print(f"\n📊 用户表中共有 {len(users)} 个用户：")
        for user in users:
            print(f"\n用户ID: {user[0]}")
            print(f"用户名: {user[1]}")
            print(f"邮箱: {user[2]}")
            print(f"是否激活: {'是' if user[3] else '否'}")
            print(f"是否超级用户: {'是' if user[4] else '否'}")
            print(f"密码哈希: {user[5][:20]}...")  # 只显示部分哈希值以保护安全
        
        # 关闭连接
        cursor.close()
        conn.close()
        
        return True
        
    except Exception as e:
        print(f"❌ 连接数据库时出错: {e}")
        return False

def main():
    print("🔍 开始检查MySQL数据库中的用户表...")
    success = check_mysql_users()
    
    if success:
        print("\n✅ 用户表检查完成！")
        print("💡 提示：如果普通用户登录失败，可能的原因有：")
        print("   1. 用户名或密码错误")
        print("   2. 用户未激活(is_active为False)")
        print("   3. 密码哈希值不匹配")
    else:
        print("\n❌ 用户表检查失败！")
        print("💡 请确认MySQL服务是否正常运行，以及连接配置是否正确。")

if __name__ == "__main__":
    main()